// src/types/employee.ts

// 定义单个员工对象的完整接口
export interface IEmployee {
  id: number;
  username: string;
  name: string;
  password?: string; // password 在查询时会返回，但通常是加密的，设为可选
  phone: string;
  sex: string; // 可以更精确： '男' | '女'
  idNumber: string;
  status: number; // 0 | 1
  createTime?: string;
  updateTime?: string;
  createUser?: number;
  updateUser?: number;
}

// 定义员工分页查询的 Query 参数接口
export interface IEmployeePageQuery {
  name?: string;
  page: number;
  pageSize: number;
}

// 定义员工分页查询接口返回的数据结构
export interface IEmployeePageResult {
  total: number;
  records: IEmployee[];
}

// 定义新增员工时，表单需要提交的数据
export interface IEmployeeAddForm {
  idNumber: string;
  name: string;
  phone: string;
  sex: string;
  username: string;
}

// 定义编辑员工时，表单需要提交的数据
export interface IEmployeeEditForm extends IEmployeeAddForm {
  id: number;
}
// 定义修改密码时，需要提交的数据
export interface IPasswordEditDTO {
  empId: number;
  oldPassword: string;
  newPassword: string;
}
